package com.silky.common.utils;

import java.util.ArrayList;
import java.util.List;

/**
 *  页面偏移量列表
 */

public class PageList {
    private List<Long> offsets;
    public PageList() {
        offsets = new ArrayList<>();
    }
    private boolean init= false;

    /**
     * 初始化
     * @param offsets
     */
    public void init(List<Long> offsets){
        synchronized (this){
            if(!init){
                init = true;
                this.offsets = offsets;
            }
        }
    }
    /**
     * 增加一个偏移量
     * @param offset
     */
    public void add(Long offset) {
        synchronized (this){
            offsets.add(offset);
        }
    }
    /**
     * 从头部移去一个偏移量
     */
    public Long remove() {
        synchronized (this){
            if(!offsets.isEmpty()) {
                return offsets.remove(0);
            }else{
                return null;
            }
        }
    }
    /**
     * 获取数组大小
     */
    public int size() {
        synchronized (this){
            return offsets.size();
        }
    }
}
